package com.eliza.kotlin.design.creation.factory.static_2

/**
 * @version v1.0
 * @ClassName: SimpleCoffeeFactory
 * @Description: 简单咖啡工厂类，    静态工厂

 * @Author: 黑马程序员
 */
/*
* 不需要多次创建 工厂对象
* */
object SimpleCoffeeFactory {
    //   静态方法
    fun createCoffee(type: String): Coffee {
        //声明Coffee类型的变量，根据不同类型创建不同的coffee子类对象
        var coffee: Coffee? = null
        coffee = when (type) {
            "american" -> {
                AmericanCoffee()
            }
            "latte" -> {
                LatteCoffee()
            }
            else -> {
                throw RuntimeException("对不起，您所点的咖啡没有")
            }
        }
        return coffee
    }
}